﻿using System;
using Needle.Core.Lifetime;

namespace Needle.Core.Activation
{
    /// <summary></summary>
    public interface IActivationContext : IDisposable
    {
        /// <summary></summary>
        object GetInstance(InstanceId instanceId);
        /// <summary></summary>
        void ConfigureInstance(InstanceId instanceId, object instance);
        /// <summary></summary>
        void Register(InstanceId instanceId, object instance, ITrackingPolicy trackingPolicy);
    }

}
